Systems and methods for downloading files

ABSTRACT

Systems according to various embodiments use a file download widget to facilitate the download of one or more files from one or more servers associated with a website. In particular embodiments, the file download widget may be used to facilitate the download of one or more particular files that are associated with the widget directly to a content management system, such as a synched or non-synched cloud-based content management system. In various embodiments, this may: (1) allow the user to download files for later use without storing the downloaded files on the user&#39;s computing device; and (2) allow the user to complete the download of files by initiating the transfer of files and then logging off of the website (and/or powering down their computing device) before the transfer of files is complete, which may result in a more convenient and enjoyable download process.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.14/108,054, filed on Dec. 16, 2013, entitled, “SYSTEMS AND METHODS FORDOWNLOADING FILES”, which is a continuation of U.S. patent applicationSer. No. 13/776,341, filed on Feb. 25, 2013, entitled, “SYSTEMS ANDMETHODS FOR DOWNLOADING FILES”, which claims the benefit of priorityunder 35 U.S.C. § 119(e) to U.S. Provisional Patent Application61/716,300, filed Oct. 19, 2012, entitled, “SYSTEMS AND METHODS FORDOWNLOADING FILES”; all of which are hereby expressly incorporatedherein by reference in their entireties.

BACKGROUND

In order to download content from a website, such as a photo sharingwebsite, a user typically downloads the content from the website onwhich the content is stored to a local computing device. This downloadprocess can be extremely time consuming—especially when large photo orvideo files are involved. Current systems typically also require contentto be stored locally after the content is downloaded, which can beimpractical for users who wish to download large amounts of content, orwho are working with client devices, such as smart phones, that may havelimited local memory. Accordingly, there is currently a need forimproved systems and methods for downloading content from a website toone or more servers associated with a cloud-based content managementsystem, or other remote computers.

SUMMARY

A computer-implemented method, according to various embodiments, mayinclude the activation of a file download widget by a user on a websiteand facilitating the download of a particular file to a cloud-basedcontent management system. The method may also include adding theparticular file to the user's account within the content managementsystem.

A computer-implemented method, according to further embodiments, mayinclude providing a file access widget on a website. The file accesswidget may be configured so that, in response to the file access widgetbeing activated by a user, a particular file is downloaded directly fromthe website to a cloud-based content management system. The file accesswidget may also be configured to add to a user's account within thecontent management system.

A non-transitory computer-readable medium, according to variousembodiments, may be configured for storing computer-executableinstructions for creating a file download widget for use on a website.The file download widget may be configured to facilitate a download,from the website, of one or more files to an account that is associatedwith a user within a cloud-based content management system. In somecases, the cloud-based content management system may already have afile. In such a case, the cloud-based content management system can beconfigured to not download the file, but instead use the previouslydownloaded copy and associate the previously downloaded copy with theuser's account.

A computer system, according to particular embodiments, may include atleast one processor and memory. The computer system may be configuredfor an activation of a file download widget by a user on a website andfacilitating a selection of a particular file associated with thewebsite. Moreover, the file download widget may be configured forreceiving an indication that the user has selected the particular file.The indication may include notice that the user has selected theparticular file and facilitated a download, from the website, of theparticular file to an account that is associated with a user within acloud-based content management system.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments of a computer system for downloading files aredescribed below. In the course of this description, reference will bemade to the accompanying drawings, which are not necessarily drawn toscale, and wherein:

FIG. 1 shows a block diagram of a content management environment inwhich one or more widgets on a website may be used to download filesfrom the website to a content management system, in accordance with aparticular embodiment.

FIG. 2 shows a flow chart illustrating steps executed by a widget codegeneration module according to a particular embodiment.

FIG. 3 shows a flow chart illustrating steps executed by a file downloadmodule according to a particular embodiment.

FIG. 4 shows a website that includes a file download widget according toa particular embodiment.

FIG. 5 shows a file selection interface according to a particularembodiment.

FIG. 6 shows a file destination selection interface according to aparticular embodiment.

FIG. 7 shows a website that includes a file download widget according toa further embodiment.

DETAILED DESCRIPTION

Various embodiments now will be described more fully hereinafter withreference to the accompanying drawings. It should be understood that theinvention may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein. Like numbersrefer to like elements throughout.

Overview

Various embodiments may use a file download widget to facilitate thedownload of one or more files from one or more servers associated with awebsite. In particular embodiments, the file download widget may be usedto facilitate the download of one or more particular files that areassociated with the widget directly to a content management system, suchas a synched or non-synched cloud-based content management system. Invarious embodiments, this may: (1) allow the user to download files forlater use without storing the downloaded files on the user's localcomputing device; and (2) allow the user to complete the download offiles by initiating the transfer of files and then logging off of thewebsite (and/or powering down their computing device) before thetransfer of files is complete, which may result in a more convenient andenjoyable download process. In certain embodiments, the download processmay be faster than a download to a user's local computing device,because the files at issue may be transferred directly from thewebsite's servers to the content management system's servers.

In various embodiments, the file download widget may include a userinterface element (e.g., a button, dialog box, or menu bar) that allowsa user to select and/or initiate the download of one or more files thatare stored on the website. In certain embodiments, the user interfaceelement may be configured to automatically initiate the download of oneor more particular files from the website in response to the userinterface element being activated (e.g., selected by a pointing device)by a user. The file download widget may be implemented, for example, bypasting a small piece of HTML code into the HTML code of a particularwebsite. The code may be provided by the content management system.

Various embodiments may be particularly useful in conjunction withfacilitating the download of files from a website to a synched,cloud-based content management system, such as the Dropbox™ Service,which is offered by Dropbox, Inc. of San Francisco, Calif. However, itshould be understood that the system may be used in conjunction with anyother suitable cloud-based or non-cloud based content management system.

More Detailed Discussion

FIG. 1 shows a content management environment 5 according to variousembodiments. As may be understood from this figure, content managementenvironment 5 includes a plurality of client devices 10A and 10B(collectively 10), a third party web server 13, and a content managementsystem 20, which are all interconnected by one or more networks 18.Various aspects of the client devices 10, third party web server 13, andcontent management system 20 are discussed below.

Client Devices

In various embodiments, each client device 10 may selectively execute afile storage service client application 12A and 12B (collectively 12),which may be used to manage files stored within a content managementsystem 20. It is noted that, in some embodiments, synchronized copies offiles 14A and 14B may be kept on both content management system 20 andeach respective client device 10. In some embodiments, client devices 10may provide a file-browser type interface (not shown) for directlymanipulating the files stored on content management system 20 withoutmaintaining a local copy. Client devices 10 may also include a webbrowser 16A and 16B (collectively 16) for retrieving and presenting webpages (such as web pages associated with the third party web server 13)and other content from other webservers. Examples of suitable webbrowsers for use by the client devices 10 include FIREFOX®, GOOGLECHROME™, INTERNET EXPLORER®, and SAFARI®.

Still referring to FIG. 1, while only two client devices 10A and 10B areshown for purposes of clarity, it should be understood by those skilledin the relevant field that many client devices may simultaneouslyconnect through network(s) 18 to content management system 20 and thirdparty web server 13 at any given time. Examples of suitable clientdevices 10 include, but are not limited to, a desktop computer, a mobilecomputing device such as a laptop, a tablet, and handheld devices, suchas a smart phone (e.g., an IPHONE®, BLACKBERRY®, or ANDROID™-based smartphone). Each client device 10 may store a local, synched copy of one ormore files from within content management system 20, and the files maybe stored in any suitable file format. When file storage service clientapplication 12 presents files that are stored within the file storagesystem to a user, the files may be arranged in folders and the foldersthemselves may be arranged in other folders, or in any other arbitraryarrangement supported by content management system 20, as determined bythe user. However, one of skill in the art should understand in light ofthis disclosure that each user's file storage architecture may beconsiderably different from the next, and in some instances, the filestorage architecture may be implemented to maximize storage and fileretrieval efficiency.

Content Management System

Content management system 20 stores files and manages access to thosefiles via client devices 10. Content management system 20 and itscomponents may be implemented using any appropriate hardware andsoftware for file serving, storage, and retrieval functions. Forexample, content management system 20 may be implemented in the form ofa single server or multiple servers.

In various embodiments, content management system 20 includes interfacemodule 22, account module 24, widget code generation module 26, filedownload module 27, and data store 28. Each of these elements of contentmanagement system 20 is discussed below.

Content Management System—Interface Module

In particular embodiments, interface module 22 facilitates file accessand file storage between content management system 20 and client devices10. Interface module 22 receives files from and sends files to clientdevices 10 consistent with the user's preferences for sharing files.Interface module 22 may act as the counterpart to a client-sidefile-explorer style user interface that allows a user to manipulatefiles directly stored on content management system 20. In someembodiments, software operating on client devices 10 may integratenetwork-stored files with the client's local file system to enable auser to manipulate network-stored files through the same user interface(UI) used to manipulate files on the local file system, e.g., via a fileexplorer, file finder or browser application. As an alternative orsupplement to the client-side file-explorer interface, interface module22 may provide a web interface for client devices 10 to access (e.g. viasuitable browser 16) and allow a user to manipulate files stored withincontent management system 20. In this way, the user can directlymanipulate files stored within content management system 20.

Content Management System—Data Store

In various embodiments, data store 28 may store files such as thosedownloaded using client devices 10, or using any other suitablecomputing device. In the embodiment illustrated in FIG. 1, client 10A,which is associated with a first user, is shown as locally storing atleast one file 14A, and client 10B, which is associated with a seconduser, is shown as locally storing at least one file 14B. As shown inFIG. 1, copies of the locally stored files are maintained in contentmanagement system's data store 28.

In various embodiments, data store 28 may maintain informationidentifying the user, information describing the user's file directory,and other information in a file journal that is maintained for eachuser. In some embodiments, the file journal may be maintained on contentmanagement system 20, and in other embodiments, a file journal (e.g., a“server-side file journal”) may be maintained on both content managementsystem 20 and locally on each client device 10. In various embodiments,the file journal may be used to facilitate the synchronization of thevarious copies of a particular file that are associated with a user'saccount.

As a particular example, in the embodiment shown in FIG. 1, the systemmay be configured so that any changes that are made to file 14A onparticular client device 10A will also be automatically reflected in thecopy of file 14A stored within content management system 20. Similarly,any changes that are made to file 14A on content management system 20may also be automatically reflected in the copy of file 14A stored onclient device 10A.

Content Management System—Account Module

In particular embodiments, account module 24 may track files stored indata store 28 and entries in the server-side file journal for each file.As users grant file access permissions to other users, account module 24may update the server-side file journal associated with each relevantuser in data store 20. Account module 24 may also track client devices10 that are associated with each user's account. For example, a user maywant to share all their files between their desktop computer, tabletcomputer, and handheld device. To make such a sharing arrangementseamless to the user, the user's single account on content managementsystem 20 may be associated with each of the user's respective clientdevices. In some embodiments, an application running on each respectiveclient device 10 may help to coordinate synchronization of files on theclient device with corresponding versions of the files within the user'saccount in content management system 20, and also with correspondingversions of the files stored on the user's various other client devices.

Content Management System—Widget Code Generation Module

In particular embodiments, widget code generation module 26 may beconfigured to generate code that may be used to create a file downloadwidget on a third party website. In particular embodiments, this codemay be HTML code that may be pasted into a third party website (or otherwebsite) to create the file download widget. In particular embodiments,the file download widget may include a button that may be used to enablethe download of one or more files directly from the third party websiteto a content management system, such as a cloud-based content managementsystem. In some embodiments, each widget may be customized to facilitatethe download of one or more specific files. In other embodiments, thewidget may include functionality that allows users to select one or morefiles for download (e.g., via a suitable file picker).

FIG. 2 illustrates various steps that are executed by widget codegeneration module 26 according to a particular embodiment. As may beunderstood from this figure, when executing this module, the processbegins at step 102, where the system may receive a link (e.g., a URL)that may be used to access at least one file associated with a thirdparty website. In particular embodiments, the at least one file may bestored on one or more servers associated with the website.

Next, at step 104, the system may use the link to generate code (e.g.,HTML code) that may be used to facilitate downloading the at least onefile from the third party website to the content management system. Thesystem then advances to step 106, where the system may provide thegenerated code for use on the third party website. The system may dothis, for example, by displaying the generated code on a suitabledisplay screen so that the user may copy the code in any suitable way.Finally, the system advances to step 108 where it may complete executionof the widget code generation module 26.

Content Management System—File Download Module

FIG. 3 shows functions of file download module 27 according a particularembodiment. For purposes of the discussion below, this module isexecuted by content management system 20. However, in other embodiments,file download module 27 may be executed by any other suitable computersystem. As may be understood from this figure, when executing thismodule, content management system 20 begins at step 202, where itreceives an indication that a user has activated a file download widgeton a third party website. In particular embodiments, content managementsystem 20 may receive this indication from web server 13 associated withthe website. This indication may, for example, reflect that a user hasselected a suitable button (e.g., an “Add to My Dropbox” button), thatis associated with at least one specific file on the website. Contentmanagement system 20 may receive this indication via an API associatedwith content management system 20, along with a URL that may be used toaccess the file and a site ID for the website.

Next, at step 204, in response to receiving the indication, contentmanagement system 20 facilitates the download of the at least onespecific file from the website to the user's account in contentmanagement system 20. In particular embodiments, in this step, contentmanagement system 20 may use the URL associated with the one or morefiles and the site ID of the third party website to initiate (e.g.,request) the download of the file from one or more servers 13 associatedwith the third party website via one or more networks 18, such as theInternet. Finally, the system ends the process at step 206.

In particular embodiments, rather than being associated with at leastone specific file, the file download widget may be adapted to allow auser to select one or more files for download from the website tocontent management system 20. In such an embodiment, the file downloadwidget may be adapted so that activating the file download widget willcause the system to display a file picker user interface that a user mayuse to select one or more files for download from the website.

Also, in certain embodiments, the file download widget may be adapted toallow a user to select a target location (e.g., a folder) from withintheir account on the content management system to download the files to.For example, the system may be adapted to allow a user to indicate thatthe user wishes to download the photo from the website to a “photo”folder within the user's account on the content management system.

In particular embodiments, when executing the steps above, file downloadmodule 27 may facilitate the transfer of one or more files directly fromthe website to one or more servers associated with content managementsystem 20. In various embodiments, this may: (1) allow the user todownload files for later use without having to download the files to theuser's local computing device; and (2) allow the user to complete thedownload of files by initiating the transfer of files and then loggingoff the website (and/or powering down their computing device) before thetransfer of files is complete, which may result in a more convenient andenjoyable download process. In certain embodiments, the download processmay also be faster than a download from a user's local computing device,since the files at issue may be transferred directly from the contentmanagement system's servers to the website's servers.

In some embodiments, file download module 27 may detect that at leastone of the one or more files has already been downloaded to the contentmanagement system. In this cases, file download module 27 can beconfigured to not download a new copy of the file, but instead use thepreviously downloaded copy and associate the previously downloaded copywith the user's account.

Exemplary User Experience

FIGS. 4-7 provide an example of the use of file download widget 310within the context of a third party photo sharing website. These figuresrepresent interfaces displayed on tablet computers, desktop computers,laptops, mobile devices, handheld devices such as smart phones, andother similar devices. The interfaces may be used by a user of aparticular content management system to download files from a thirdparty website to the user's account within the content managementsystem.

FIG. 4 is a screen shot of an exemplary user interface on a third partywebsite for downloading files to the content management system from thethird party website. The third party website shown in this figure is aphoto storage and sharing website (e.g., Shutterfly 300). Userinterfaces for downloading files from third party websites to a contentmanagement system may be substantially integrated (e.g., integrated) inany third party website from which a user may desire to add files to theuser's content management system account (e.g., social networkingwebsites such as Facebook; content management services such as Dropbox™,etc.). As may be understood from FIG. 4, the third party website mayinclude “Add to My Dropbox” Button 310, which a user may select in orderto download files to the user's content management system account (e.g.,Dropbox account) from the third party website.

In particular embodiments, in response to the user's selection of “Addto My Dropbox” Button 310, the system may be configured to display fileselection interface 320 to the user as shown in FIG. 5. In theembodiment shown in this figure, file selection interface 320 mayinclude a listing of files on the third party website to which the userhas access. For example, in the case of a file selection interface on aphoto storing service such as those provided by Shutterfly, Inc., thefile selection interface may include a listing of files and folders thatare available to the user (e.g., that are currently stored on the photosharing website). As may be understood from this figure, the system maybe configured to allow the user to utilize this interface to selectfiles from the third party site to download to the content managementsystem. The user may select individual files or folders 324 to add tothe user's content management system account (e.g., by selecting indicia322 adjacent the file or folder that the user wishes to add to theuser's content management system account).

As shown in FIG. 5, once the user has selected one or more files 324 toadd to their content management system account from the third partysite, the user can activate (e.g., click on) Select Button 326, inresponse to which, as shown in FIG. 6, the system may be configured todisplay destination interface 350. As may be understood from thisfigure, the system may be configured to allow a user to select adestination directory (e.g., folder) in the user's content managementsystem account to which the user desires to add the selected files orfolders from the third party site. For example, because, in this case,the third party site is a photo storage site, the user may select PhotosFolder 356 in the user's content management system account as the folderto which the user wishes to download the files (e.g., image files) fromthe third party site. Once the user has selected a destination folder inthe user's content management system account, the user may select “Addto My Dropbox” Button 354 to initiate the download of the selected filesand/or folders from the third party website to the user's contentmanagement system account.

FIG. 7 shows another embodiment of a system for downloading one or morefiles from a third party website to a content management system. Asshown in this figure, individual's personal web log 400 (e.g., blog),for example, may include multiple “Add to My Dropbox” Buttons 410 thatvisitors to the blog may select to add files made available on the blogto their respective content management system accounts. In variousembodiments, these “Add to My Dropbox” Buttons 410 may be placed on thethird party site by an owner of the third party site.

In various embodiments, the owner may add “Add to My Dropbox” Buttons410 to their website by pasting suitable HTML code into the site. Thiscode may, for example, be generated by the content management system andprovided to the owner of the website in the manner discussed above, orin any other suitable manner.

In particular embodiments, “Add to My Dropbox” Button 410 may beassociated with a specific file (or plurality of files) that the ownerwishes to make available to users that access the third party site. Thesystem may be configured so that, when a user selects “Add to MyDropbox” Button 410, the system adds the specific file or files to theuser's account within the content management system. In variousembodiments, during this process, the system may require the user to login to their content management system account in order to facilitate thedownload of the file to the account. Alternatively, if the user islogged into their account when the download is initiated, the system mayfacilitate the download of the file into the user's account withoutfurther input from the user.

As a particular example, in blog 400 shown in FIG. 7, if a user were toselect “Add to My Dropbox” Button 410A below the blog entry relating toa recording of the blog owner's cover band, the system may save (e.g.,automatically) a song file associated with “Add to My Dropbox” Button410A to the user's content management system account.

Similarly, if the user selects “Add to My Dropbox” Button 410B below theblog entry relating to the video of the blog owner's nephew, the systemmay automatically save a video associated with the Button 410B to theuser's content management system account.

Additional Configuration Considerations

The disclosure herein has been described in particular detail withrespect certain embodiments. Those of skill in the art will appreciatethat other embodiments may be practiced. First, the particular naming ofthe components and variables, capitalization of terms, the attributes,data structures, or any other programming or structural aspect may notbe mandatory or significant, and the mechanisms that implement theinvention or its features may have different names, formats, orprotocols. Also, the particular division of functionality between thevarious system components described herein is merely exemplary, and notmandatory; functions performed by a single system component may insteadbe performed by multiple components, and functions performed by multiplecomponents may instead be performed by a single component.

Some portions of above description present features in terms ofalgorithms and symbolic representations of operations on information.These algorithmic descriptions and representations are the means used bythose skilled in the data processing arts to most effectively convey thesubstance of their work to others skilled in the art. These operations,while described functionally or logically, are understood to beimplemented by computer programs. Furthermore, it has also provenconvenient at times, to refer to these arrangements of operations asmodules or by functional names, without loss of generality.

Unless specifically stated otherwise as apparent from the abovediscussion, it is appreciated that throughout the description,discussions utilizing terms such as “determining” or the like, refer tothe action and processes of a computer system, or similar electroniccomputing device, that manipulates and transforms data represented asphysical (electronic) quantities within the computer system memories orregisters or other such information storage, transmission or displaydevices.

Certain aspects of the embodiments disclosed herein include processsteps and instructions described herein in the form of an algorithm. Itshould be noted that the process steps and instructions could beembodied in software, firmware, or hardware, and when embodied insoftware, could be downloaded to reside on and be operated fromdifferent platforms used by real time network operating systems.

The algorithms and operations presented herein are not inherentlyrelated to any particular computer or other apparatus. Variousgeneral-purpose systems may also be used with programs in accordancewith the teachings herein, or it may prove convenient to construct morespecialized apparatus to perform the required method steps. The requiredstructure for a variety of these systems will be apparent to those ofskill in the art, along with equivalent variations. In addition, thepresent invention is not described with reference to any particularprogramming language. It is appreciated that a variety of programminglanguages may be used to implement the teachings of the presentinvention as described herein, and any references to specific languagesare provided for enablement and best mode of the present invention.

It also should be understood that, while various embodiments aredescribed above in terms of computer-implemented methods, otherembodiments include a system and/or a non-transitory computer-readablestorage medium for creating and using file download widgets to provideaccess to files stored on a content management system according to thetechniques described above.

The embodiments disclosed herein are well suited to a wide variety ofcomputer network systems over numerous topologies. Within this field,the configuration and management of large networks include storagedevices and computers that are communicatively coupled to dissimilarcomputers and storage devices over a network, such as the Internet.

Finally, it should be noted that the language used in the specificationhas been principally selected for readability and instructionalpurposes, and may not have been selected to delineate or circumscribethe inventive subject matter. Accordingly, the disclosure herein isintended to be illustrative, but not limiting, of the scope of theinvention, which is set forth in the following claims.

What is claimed is:
 1. A computer-implemented method comprising:receiving, by a content management system, an indication of anactivation of a content item download widget presented on a website; anddownloading, in response to the indication, a content item selected fromthe website to a user account within the content management system,wherein the downloading is based on a determination that the contentitem is not already stored within the content management system, andwherein downloading the content item to the user account within thecontent management system comprises receiving the content item directlyfrom the website at one or more servers associated with the contentmanagement system.
 2. The computer-implemented method of claim 1,wherein receiving the content item directly from the website at the oneor more servers associated with the content management system comprisesdownloading the content item directly from one or more serversassociated with the website to the one or more servers associated withthe content management system.
 3. The computer-implemented method ofclaim 1 further comprising: receiving a link to the content item.
 4. Thecomputer-implement method of claim 3, wherein the link is a URL.
 5. Thecomputer-implemented method of claim 1, wherein downloading the contentitem to the user account within the content management system furthercomprises associating the content item with the user account.
 6. Thecomputer-implemented method of claim 5 further comprising: receivingaccount information for the user account; and using the accountinformation to associate the content item with the user account withinthe content management system.
 7. The computer-implement method of claim1, wherein the website is a third-party website not associated with thecontent management system.
 8. The computer-implemented method of claim1, wherein the downloading of the content item on the website comprisesallowing initiation of the content item download by a client device thencompleting download after the client device has disconnected from thewebsite.
 9. The computer-implemented method of claim 1, wherein, inresponse to the indication, the content item is downloaded to thecontent management system from the website without first downloading thecontent item to a client device.
 10. A computer-implemented methodcomprising: providing, to a website, a content item download widget thatis configured so that, in response to a content item access widget beingactivated, a content item on the website is: downloaded directly to acontent management system from one or more servers associated with thewebsite based on a determination by the content management system thatthe content item is not already stored within the content managementsystem; and associated with a user account within the content managementsystem.
 11. The computer-implemented method of claim 10 furthercomprising: generating computer code for implementing the content itemdownload widget on the website; and providing the computer code forimplementing the content item download widget on the website.
 12. Thecomputer-implement method of claim 11, wherein the computer code uses alink to facilitate the download of the content item to the contentmanagement system.
 13. The computer-implemented method of claim 12,wherein the link is a URL.
 14. The computer-implemented method of claim10, wherein the content item download widget is configured for aspecific content item on the website.
 15. The computer-implementedmethod of claim 10, wherein the content item download widget isconfigured to allow selection of one or more content items for downloadfrom the website.
 16. The computer-implemented method of claim 10,wherein the content item download widget is further configured so that,in response to the content item access widget being activated, thecontent item on the website is downloaded by allowing initiation of thecontent item download by a client device then completing download afterthe client device has disconnected from the website.
 17. Acomputer-implemented method comprising: receiving, by a contentmanagement system, an indication of an activation of a content itemdownload widget presented on a website; determining, in response to theindication, whether the content item is already stored within thecontent management system; downloading, in response to determining thatthe content item is not already stored within the content managementsystem, the content item from the website to the content managementsystem and associating the content item with a user account within thecontent management system, wherein downloading the content item to thecontent management system comprises receiving the content item directlyfrom the website at one or more servers associated with the contentmanagement system; and associating, in response to determining that thecontent item is already stored within the content management system, thecontent item already stored within the content management system withthe user account.
 18. The computer-implemented method of claim 17,wherein receiving the content item directly from the website at the oneor more servers associated with the content management system comprisesdownloading the content item directly from one or more serversassociated with the website to the one or more servers associated withthe content management system.
 19. The computer-implemented method ofclaim 17 further comprising: receiving account information for the useraccount; and using the account information to associate the content itemwith the user account within the content management system.
 20. Thecomputer-implemented method of claim 17, wherein the downloading of thecontent item on the website comprises allowing initiation of the contentitem download by a client device then completing download after theclient device has disconnected from the website.
 21. A contentmanagement system comprising: one or more processors; and at least onenon-transitory computer-readable storage medium having stored thereininstructions which, when executed by the one or more processors, causethe content management system to: receive an indication of an activationof a content item download widget presented on a website; and download,in response to the indication, a content item selected from the websiteto a user account within the content management system, wherein thedownloading is based on a determination that the content item is notalready stored within the content management system, and whereindownloading the content item to the user account within the contentmanagement system comprises receiving the content item directly from thewebsite at one or more servers associated with the content managementsystem.
 22. A non-transitory computer-readable storage medium havingstored therein instructions which, when executed by one or moreprocessors, cause the one or more processors to: receive, via a contentmanagement system, an indication of an activation of a content itemdownload widget presented on a website; and download, in response to theindication, a content item selected from the website to a user accountwithin the content management system, wherein the downloading is basedon a determination that the content item is not already stored withinthe content management system, and wherein downloading the content itemto the user account within the content management system comprisesreceiving the content item directly from the website at one or moreservers associated with the content management system.
 23. A contentmanagement system comprising: one or more processors; and at least onenon-transitory computer-readable storage medium having stored thereininstructions which, when executed by the one or more processors, causethe content management system to: receive an indication of an activationof a content item download widget presented on a website; determine, inresponse to the indication, whether the content item is already storedwithin the content management system; download, in response todetermining that the content item is not already stored within thecontent management system, the content item from the website to thecontent management system and associating the content item with a useraccount within the content management system, wherein downloading thecontent item to the content management system comprises receiving thecontent item directly from the website at one or more servers associatedwith the content management system; and associate, in response todetermining that the content item is already stored within the contentmanagement system, the content item already stored within the contentmanagement system with the user account.
 24. A non-transitorycomputer-readable storage medium having stored therein instructionswhich, when executed by one or more processors, cause the one or moreprocessors to: receive an indication of an activation of a content itemdownload widget presented on a website; determine, in response to theindication, whether the content item is already stored within thecontent management system; download, in response to determining that thecontent item is not already stored within the content management system,the content item from the website to the content management system andassociating the content item with a user account within the contentmanagement system, wherein downloading the content item to the contentmanagement system comprises receiving the content item directly from thewebsite at one or more servers associated with the content managementsystem; and associate, in response to determining that the content itemis already stored within the content management system, the content itemalready stored within the content management system with the useraccount.